对Dataframe进行多列排序

您所在的位置:网站首页 pandas sort values 对Dataframe进行多列排序

对Dataframe进行多列排序

#对Dataframe进行多列排序| 来源: 网络整理| 查看: 265

sort_values() 函数说明

pandas库的 sort_values() 函数可以对 Dataframe 的数据集按照某个字段中的数据进行排序。该函数可以指定列数据或行数据进行排序,可以是单个,也可以是多个。

同时,对于 series 也有 sort_values() 函数,但在参数上稍有区别。

官方介绍:

pandas.DataFrame.sort_valuespandas.Series.sort_values sort_values() 具体参数

用法: DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind=‘quicksort’, na_position=‘last’, ignore_index=False, key=None)

常用参数说明:

参数说明by指定要进行排序的列名或索引值axis若 axis=0 或 ‘index’,则按照指定列的数据大小排序;若 axis=1 或 ‘columns’,则按照指定索引中数据大小排序。默认axis=0ascending若 ascending=True,则按照升序排序;若 ascending=False,则按降序排序,默认为True,即升序排序。如果这是一个 bool 列表,则必须匹配 by 的长度inplace排序后的数据是否替换原来的数据,默认为False,即不替换ignore_index是否重置索引,默认为不重置 sort_values() 使用案例 创建 dataframe import pandas as pd import numpy as np df = pd.DataFrame({ 'col1': ['A', 'A', 'B', np.nan, 'C', 'C'], 'col2': [2, 1, 1, 8, 7, 4], 'col3': [0, 1, 9, 4, 8, 3], }) print(df) >>> col1 col2 col3 0 A 2 0 1 A 1 1 2 B 1 9 3 NaN 8 4 4 C 7 8 5 C 4 3 根据第一、三列进行降序排序 print(df.sort_values(by = ['col1','col3'],ascending=False)) >>> col1 col2 col3 4 C 7 8 5 C 4 3 2 B 1 9 1 A 1 1 0 A 2 0 3 NaN 8 4 根据第一列降序排序,当第一列相同时,根据第三列进行升序排序。并且重置索引,替换原数据 df.sort_values(by = ['col1','col3'],ascending=[False,True],ignore_index=True,inplace=True) print(df) >>> col1 col2 col3 0 C 4 3 1 C 7 8 2 B 1 9 3 A 2 0 4 A 1 1 5 NaN 8 4 致谢 https://blog.csdn.net/MsSpark/article/details/83154128


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3